﻿using System;

namespace Utilities    
{

public static class OnEventHandler
{
    #region 回合循环-遭战
    
    public static event Action MeetingEngagement;

    public static void CallMeetingEngagement()
    {
        MeetingEngagement?.Invoke();
    }
    
    #endregion
    #region 回合循环-玩家
    public static event Action PlayerTurnBegin;

    public static void CallPlayerTurnBegin()
    {
        PlayerTurnBegin?.Invoke();
    }

    public static event Action PlayerDrawBegin;
    public static void CallPlayerDrawBegin()
    {
        PlayerDrawBegin?.Invoke();
    }

    public static event Action PlayerDrawEnd;

    public static void CallPlayerDrawEnd()
    {
        PlayerDrawEnd?.Invoke();
    }
    
    public static event Action PlayerUseCardBegin;

    public static void CallPlayerUseCardBegin()
    {
        PlayerUseCardBegin?.Invoke();
    }

    public static event Action PlayerUseCardEnd;

    public static void CallPlayerUseCardEnd()
    {
        PlayerUseCardEnd?.Invoke();
    }
    public static event Action PlayerActionBegin;

    public static void CallPlayerActionBegin()
    {
        PlayerActionBegin?.Invoke();
    }

    public static event Action PlayerActionEnd;

    public static void CallPlayerActionEnd()
    {
        PlayerActionEnd?.Invoke();
    }

    public static event Action PlayerTurnEnd;

    public static void CallPlayerTurnEnd()
    {
        PlayerTurnEnd?.Invoke();
    }
    #endregion
    #region 回合循环-敌人
    public static event Action EnemyTurnBegin;

    public static void CallEnemyTurnBegin()
    {
        EnemyTurnBegin?.Invoke();
    }
    public static event Action EnemyDrawBegin;

    public static void CallEnemyDrawBegin()
    {
        EnemyDrawBegin?.Invoke();
    }

    public static event Action EnemyDrawEnd;

    public static void CallEnemyDrawEnd()
    {
        EnemyDrawEnd?.Invoke();
    }
    public static event Action EnemyUseCardBegin;

    public static void CallEnemyUseCardBegin()
    {
        EnemyUseCardBegin?.Invoke();
    }

    public static event Action EnemyUseCardEnd;

    public static void CallEnemyUseCardEnd()
    {
        EnemyUseCardEnd?.Invoke();
    }
    
    public static event Action EnemyActionBegin;

    public static void CallEnemyActionBegin()
    {
        EnemyActionBegin?.Invoke();
    }
    public static event Action EnemyActionEnd;

    public static void CallEnemyActionEnd()
    {
        EnemyActionEnd?.Invoke();
    }

    public static event Action EnemyTurnEnd;

    public static void CallEnemyTurnEnd()
    {
        EnemyTurnEnd?.Invoke();
    }
    #endregion
    #region 回合循环-结束
    public static event Action PlayerDefeated;
    public static void CallPlayerDefeated()
    {
        PlayerDefeated?.Invoke();
    }
    
    public static event Action EnemyDefeated;
    public static void CallEnemyDefeated()
    {
        EnemyDefeated?.Invoke();
    }
    #endregion
}
}